<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.20"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>yLib: yLib::yStack&lt; T, Alloc &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">yLib
   &#160;<span id="projectnumber">V0.0.9 beta</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classyLib_1_1yStack.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classyLib_1_1yStack-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">yLib::yStack&lt; T, Alloc &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="ystack_8hpp_source.html">ystack.hpp</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for yLib::yStack&lt; T, Alloc &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classyLib_1_1yStack.png" usemap="#yLib::yStack_3C_20T_2C_20Alloc_20_3E_map" alt=""/>
  <map id="yLib::yStack_3C_20T_2C_20Alloc_20_3E_map" name="yLib::yStack_3C_20T_2C_20Alloc_20_3E_map">
<area href="classyLib_1_1yObject.html" title="This is base-class of the all object in yLib." alt="yLib::yObject" shape="rect" coords="0,0,149,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae42a0d6a7050200c020540d31d620145"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#ae42a0d6a7050200c020540d31d620145">yStack</a> (void)</td></tr>
<tr class="separator:ae42a0d6a7050200c020540d31d620145"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af374900e9bd41a0b86d3be7cb3df69c1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#af374900e9bd41a0b86d3be7cb3df69c1">yStack</a> (uint64_t size_)</td></tr>
<tr class="separator:af374900e9bd41a0b86d3be7cb3df69c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77c0aa42debd075050e6c4a69b521bd4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#a77c0aa42debd075050e6c4a69b521bd4">~yStack</a> (void)</td></tr>
<tr class="separator:a77c0aa42debd075050e6c4a69b521bd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1253c54846df0af7ec47264f3e01d358"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#a1253c54846df0af7ec47264f3e01d358">push</a> (T &amp;lval_)</td></tr>
<tr class="separator:a1253c54846df0af7ec47264f3e01d358"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb696706440f46f00a834622b658ae3e"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#afb696706440f46f00a834622b658ae3e">push</a> (T &amp;&amp;rval_)</td></tr>
<tr class="separator:afb696706440f46f00a834622b658ae3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d6035f2e8038582f0329780d0c53ce9"><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#a3d6035f2e8038582f0329780d0c53ce9">front</a> (void) const</td></tr>
<tr class="separator:a3d6035f2e8038582f0329780d0c53ce9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04399df9b597d40dcf141840e5ed4832"><td class="memItemLeft" align="right" valign="top">T &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#a04399df9b597d40dcf141840e5ed4832">tail</a> (void) const</td></tr>
<tr class="separator:a04399df9b597d40dcf141840e5ed4832"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc5a64d98a570a8502a2929e62d74f8d"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#acc5a64d98a570a8502a2929e62d74f8d">pop</a> (void)</td></tr>
<tr class="separator:acc5a64d98a570a8502a2929e62d74f8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe5a9374463c2ed6957b19391f08599b"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#abe5a9374463c2ed6957b19391f08599b">get_size</a> (void) const</td></tr>
<tr class="separator:abe5a9374463c2ed6957b19391f08599b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa43c9588d487441e6065b8e92412433e"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#aa43c9588d487441e6065b8e92412433e">get_capacity</a> (void) const</td></tr>
<tr class="separator:aa43c9588d487441e6065b8e92412433e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a064ec429272ff8a3bd359deaf7760058"><td class="memItemLeft" align="right" valign="top">int8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#a064ec429272ff8a3bd359deaf7760058">resize_capacity</a> (uint64_t new_cap_)</td></tr>
<tr class="separator:a064ec429272ff8a3bd359deaf7760058"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classyLib_1_1yObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classyLib_1_1yObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classyLib_1_1yObject.html">yLib::yObject</a></td></tr>
<tr class="memitem:a4f7523f70c3832ac47812ca5d366adca inherit pub_methods_classyLib_1_1yObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yObject.html#a4f7523f70c3832ac47812ca5d366adca">yObject</a> ()</td></tr>
<tr class="memdesc:a4f7523f70c3832ac47812ca5d366adca inherit pub_methods_classyLib_1_1yObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="classyLib_1_1yObject.html#a4f7523f70c3832ac47812ca5d366adca">More...</a><br /></td></tr>
<tr class="separator:a4f7523f70c3832ac47812ca5d366adca inherit pub_methods_classyLib_1_1yObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e54fc8334031b969dbc4a4d45c489b3 inherit pub_methods_classyLib_1_1yObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yObject.html#a0e54fc8334031b969dbc4a4d45c489b3">yObject</a> (<a class="el" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a> object_name_)</td></tr>
<tr class="memdesc:a0e54fc8334031b969dbc4a4d45c489b3 inherit pub_methods_classyLib_1_1yObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Override constructor.  <a href="classyLib_1_1yObject.html#a0e54fc8334031b969dbc4a4d45c489b3">More...</a><br /></td></tr>
<tr class="separator:a0e54fc8334031b969dbc4a4d45c489b3 inherit pub_methods_classyLib_1_1yObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94c1477907a7d2cad4ee2ad321ba571a inherit pub_methods_classyLib_1_1yObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yObject.html#a94c1477907a7d2cad4ee2ad321ba571a">yObject</a> (const <a class="el" href="classyLib_1_1yObject.html">yObject</a> &amp;object_)=delete</td></tr>
<tr class="memdesc:a94c1477907a7d2cad4ee2ad321ba571a inherit pub_methods_classyLib_1_1yObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="classyLib_1_1yObject.html#a94c1477907a7d2cad4ee2ad321ba571a">More...</a><br /></td></tr>
<tr class="separator:a94c1477907a7d2cad4ee2ad321ba571a inherit pub_methods_classyLib_1_1yObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5bdd44e891dc768a9a414618756818fd inherit pub_methods_classyLib_1_1yObject"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classyLib_1_1yObject.html">yObject</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yObject.html#a5bdd44e891dc768a9a414618756818fd">operator=</a> (const <a class="el" href="classyLib_1_1yObject.html">yObject</a> &amp;object_)=delete</td></tr>
<tr class="memdesc:a5bdd44e891dc768a9a414618756818fd inherit pub_methods_classyLib_1_1yObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment constructor.  <a href="classyLib_1_1yObject.html#a5bdd44e891dc768a9a414618756818fd">More...</a><br /></td></tr>
<tr class="separator:a5bdd44e891dc768a9a414618756818fd inherit pub_methods_classyLib_1_1yObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a409ebd4dd4b5b5ca41de594eb6a6980b inherit pub_methods_classyLib_1_1yObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yObject.html#a409ebd4dd4b5b5ca41de594eb6a6980b">yObject</a> (const <a class="el" href="classyLib_1_1yObject.html">yObject</a> &amp;&amp;object_)=delete</td></tr>
<tr class="memdesc:a409ebd4dd4b5b5ca41de594eb6a6980b inherit pub_methods_classyLib_1_1yObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move constructor.  <a href="classyLib_1_1yObject.html#a409ebd4dd4b5b5ca41de594eb6a6980b">More...</a><br /></td></tr>
<tr class="separator:a409ebd4dd4b5b5ca41de594eb6a6980b inherit pub_methods_classyLib_1_1yObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aebad488c9d1f92f89f3074a23a3f90 inherit pub_methods_classyLib_1_1yObject"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classyLib_1_1yObject.html">yObject</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yObject.html#a0aebad488c9d1f92f89f3074a23a3f90">operator=</a> (const <a class="el" href="classyLib_1_1yObject.html">yObject</a> &amp;&amp;object_)=delete</td></tr>
<tr class="memdesc:a0aebad488c9d1f92f89f3074a23a3f90 inherit pub_methods_classyLib_1_1yObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment constructor.  <a href="classyLib_1_1yObject.html#a0aebad488c9d1f92f89f3074a23a3f90">More...</a><br /></td></tr>
<tr class="separator:a0aebad488c9d1f92f89f3074a23a3f90 inherit pub_methods_classyLib_1_1yObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19061becef2eb18430987e9024d92a5b inherit pub_methods_classyLib_1_1yObject"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yObject.html#a19061becef2eb18430987e9024d92a5b">~yObject</a> ()</td></tr>
<tr class="memdesc:a19061becef2eb18430987e9024d92a5b inherit pub_methods_classyLib_1_1yObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default destructor.  <a href="classyLib_1_1yObject.html#a19061becef2eb18430987e9024d92a5b">More...</a><br /></td></tr>
<tr class="separator:a19061becef2eb18430987e9024d92a5b inherit pub_methods_classyLib_1_1yObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a0d5d72f32871bd4462815a249edeaf90"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#a0d5d72f32871bd4462815a249edeaf90">capacity</a> = 0</td></tr>
<tr class="separator:a0d5d72f32871bd4462815a249edeaf90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb4484af701904a67e628b846190e1a4"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#acb4484af701904a67e628b846190e1a4">cur_size</a> = 0</td></tr>
<tr class="separator:acb4484af701904a67e628b846190e1a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1edf66c29ffdf824355f27eaa29a8a5e"><td class="memItemLeft" align="right" valign="top">T *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#a1edf66c29ffdf824355f27eaa29a8a5e">stack_head</a> = nullptr</td></tr>
<tr class="separator:a1edf66c29ffdf824355f27eaa29a8a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5831e5c991b140faade083a3782ad88a"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yStack.html#a5831e5c991b140faade083a3782ad88a">NullObj</a></td></tr>
<tr class="separator:a5831e5c991b140faade083a3782ad88a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_attribs_classyLib_1_1yObject"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classyLib_1_1yObject')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classyLib_1_1yObject.html">yLib::yObject</a></td></tr>
<tr class="memitem:a2db8b0c6fba5a9137092715442866090 inherit pub_attribs_classyLib_1_1yObject"><td class="memItemLeft" align="right" valign="top"><a class="el" href="src_2CMakeLists_8txt.html#a296644e9ff1d0a602b4703f361406374">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classyLib_1_1yObject.html#a2db8b0c6fba5a9137092715442866090">object_name</a></td></tr>
<tr class="memdesc:a2db8b0c6fba5a9137092715442866090 inherit pub_attribs_classyLib_1_1yObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">The object-name.  <a href="classyLib_1_1yObject.html#a2db8b0c6fba5a9137092715442866090">More...</a><br /></td></tr>
<tr class="separator:a2db8b0c6fba5a9137092715442866090 inherit pub_attribs_classyLib_1_1yObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ae42a0d6a7050200c020540d31d620145"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae42a0d6a7050200c020540d31d620145">&#9670;&nbsp;</a></span>yStack() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::<a class="el" href="classyLib_1_1yStack.html">yStack</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: create a stack with 32 * sizeof(T)-bytes's capacity. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<a id="af374900e9bd41a0b86d3be7cb3df69c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af374900e9bd41a0b86d3be7cb3df69c1">&#9670;&nbsp;</a></span>yStack() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::<a class="el" href="classyLib_1_1yStack.html">yStack</a> </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>size_</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td>size_ is the current capacity of stack. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<a id="a77c0aa42debd075050e6c4a69b521bd4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77c0aa42debd075050e6c4a69b521bd4">&#9670;&nbsp;</a></span>~yStack()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::~<a class="el" href="classyLib_1_1yStack.html">yStack</a> </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a3d6035f2e8038582f0329780d0c53ce9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d6035f2e8038582f0329780d0c53ce9">&#9670;&nbsp;</a></span>front()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T&amp; <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::front </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<a id="aa43c9588d487441e6065b8e92412433e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa43c9588d487441e6065b8e92412433e">&#9670;&nbsp;</a></span>get_capacity()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::get_capacity </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: get the capacity of stack. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<a id="abe5a9374463c2ed6957b19391f08599b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe5a9374463c2ed6957b19391f08599b">&#9670;&nbsp;</a></span>get_size()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::get_size </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: get the current size of stack. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<a id="acc5a64d98a570a8502a2929e62d74f8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc5a64d98a570a8502a2929e62d74f8d">&#9670;&nbsp;</a></span>pop()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8_t <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::pop </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<a id="afb696706440f46f00a834622b658ae3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb696706440f46f00a834622b658ae3e">&#9670;&nbsp;</a></span>push() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8_t <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::push </td>
          <td>(</td>
          <td class="paramtype">T &amp;&amp;&#160;</td>
          <td class="paramname"><em>rval_</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<a id="a1253c54846df0af7ec47264f3e01d358"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1253c54846df0af7ec47264f3e01d358">&#9670;&nbsp;</a></span>push() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8_t <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::push </td>
          <td>(</td>
          <td class="paramtype">T &amp;&#160;</td>
          <td class="paramname"><em>lval_</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<a id="a064ec429272ff8a3bd359deaf7760058"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a064ec429272ff8a3bd359deaf7760058">&#9670;&nbsp;</a></span>resize_capacity()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int8_t <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::resize_capacity </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>new_cap_</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<a id="a04399df9b597d40dcf141840e5ed4832"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04399df9b597d40dcf141840e5ed4832">&#9670;&nbsp;</a></span>tail()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T&amp; <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::tail </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>@description: </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">{type}</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>{type} </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a0d5d72f32871bd4462815a249edeaf90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d5d72f32871bd4462815a249edeaf90">&#9670;&nbsp;</a></span>capacity</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::capacity = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="acb4484af701904a67e628b846190e1a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb4484af701904a67e628b846190e1a4">&#9670;&nbsp;</a></span>cur_size</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::cur_size = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5831e5c991b140faade083a3782ad88a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5831e5c991b140faade083a3782ad88a">&#9670;&nbsp;</a></span>NullObj</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::NullObj</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a1edf66c29ffdf824355f27eaa29a8a5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1edf66c29ffdf824355f27eaa29a8a5e">&#9670;&nbsp;</a></span>stack_head</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , class Alloc  = std::allocator&lt;T&gt;&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">T* <a class="el" href="classyLib_1_1yStack.html">yLib::yStack</a>&lt; T, Alloc &gt;::stack_head = nullptr</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>/home/sky/yLib/include/basic_algorithm/<a class="el" href="ystack_8hpp_source.html">ystack.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceyLib.html">yLib</a></li><li class="navelem"><a class="el" href="classyLib_1_1yStack.html">yStack</a></li>
    <li class="footer">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.8.20 </li>
  </ul>
</div>
</body>
</html>
